package main.java.collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;

/*
    集合转换为数组
    Collection提供了一个方法toArray可以将一个集合转换为一个数组
 */
public class CollectionToArrayDemo {
    public static void main(String[] args) {
        //创建一个集合
        Collection<String> c = new ArrayList<>();
        //向集合中添加元素
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");
        //输出集合
        System.out.println(c);
        System.out.println("--------------------------");
        //将集合转换为数组
        //Object[] array = c.toArray();
        //转化为泛型数组，泛型数组的长度必须和集合的长度一致，否则会抛出异常
        //size()方法返回集合的长度，不会自动扩容
        String[] array = c.toArray(new String[c.size()]);
        //转化为指定长度的泛型数组,不足的元素会以null填充
        //String[] array = c.toArray(new String[10]);
        //数组的指定长度小于集合的长度，则集合输出的元素不变
        //String[] array = c.toArray(new String[1]);
        //输出数组
        System.out.println(Arrays.toString(array));
    }
}
